"""
    模拟自动取款机
    1.登录
    2.查询余额
    3.存钱
    4.取钱
    5.退出
"""

# 创建数据
balance_list = [{'摘要': '存', '金额': 1000, '余额': 2000},
                {'摘要': '存', '金额': 1000, '余额': 3000},
                {'摘要': '取', '金额': 100, '余额': 2900}]


# 登录
def sign_in():
    name = input('请输入用户名：')
    password = int(input('请输入密码：'))
    # 如果用户名存在，则登录成功
    if name == 'liyang' and password == 123456:
        # 提示登录成功，并显示操作界面
        print('登录成功')
    else:
        print('=' * 15, '无此用户', '=' * 15)


# 查询
def query():
    print('|{0:<4}|{1:<5}|{2:<5}|{3:<3}|'.format('id', '摘要', '金额', '余额'))
    print('-' * 36)
    for i, balance_dict in enumerate(balance_list):
        print('|{0:<6}|{1:<5}|{2:<7}|{3:<5}|'.format(i + 1, balance_dict['摘要'], balance_dict['金额'],
                                                     balance_dict['余额']))


# 存钱
def save_money(amount, balance=0, abstract='存'):
    balance_dict = {}
    balance_dict['摘要'] = abstract
    balance_dict['金额'] = amount
    balance_dict['余额'] = balance

    balance_list.append(balance_dict)


# 取钱
def take_money(amount, balance=0, abstract='取'):
    balance_dict1 = {}
    balance_dict1['摘要'] = abstract
    balance_dict1['金额'] = amount
    balance_dict1['余额'] = balance

    balance_list.append(balance_dict1)


# 退出系统
def loginOut():
    pass

# 交互界面
def login():
    while True:
        print('=' * 13, '欢迎使用自动存取款机', '=' * 13)
        print('{:1}{:13}{:15}'.format(' ', '1.查看余额', '2.存钱'))
        print('{:1}{:15}{:15}'.format(' ', '3.取钱', '4.退出'))
        print('=' * 35)
        keys = input('请输入对应数字选择：')
        if keys == '1':
            print('=' * 13, '账号余额', '=' * 13)
            query()
            input('按回车继续：')
        elif keys == '2':
            print('=' * 13, '存款', '=' * 13)
            amount = int(input('请输入金额：'))
            save_money(amount)
            query()
            input('按回车继续：')
        elif keys == '3':
            print('=' * 13, '取款', '=' * 13)
            amount = int(input('请输入金额：'))
            take_money(amount)
            query()
            input('按回车继续：')
        elif keys == '4':
            loginOut()
            print('=' * 12, '欢迎下次使用！', '=' * 12)
            break
        else:
            print('=' * 12, '无效操作', '=' * 12)


# 输入用户名和密码登录
def show():
    # 只允许输入三次
    for i in range(3):
        name = input('请输入用户名：')
        password = int(input('请输入密码：'))
        # 如果用户名和密码正确，则登录成功
        if name == 'liyang' and password == 123456:
            # 提示登录成功，并显示操作界面
            print('登录成功')
            print('-' * 35)
            login()
        else:
            # 提示用户名或者密码错误，允许输入三次
            print('用户名或密码错误，请重新输入')
            print('-' * 35)
            i = + 1
    print('输入超时！')


# 登录界面

print('=' * 12, '欢迎使用', '=' * 12)
print('{:1}{:13}'.format(' ', '1.登录'))
print('{:1}{:13}'.format(' ', '2.退出'))
print('=' * 40)
key = input('请输入对应数字选择：')
# 选择1进入操作界面
if key == '1':
    show()
else:
    # 退回系统
    loginOut()
    print('=' * 12, '谢谢使用！', '=' * 12)



